package com.zrrd.learn.JulyLearn.FirstWeek;

import java.util.Arrays;

/**
 * J1908第3周笔试考试编程题
 *
 * @author wrn
 * @version 1.0
 * @date 2023/7/12 8:44
 */

public class Learn01 {

    /**
     * 1、二维数组求和
     * 公司年销售额求和
     * 某公司按照季度和月份统计的数据如下：单位(万元)
     * 第一季度：22,66,44
     * 第二季度：77,33,88
     * 第三季度：25,45,65
     * 第四季度：11,66,99
     * @param arr1
     */
    public static void question1(int[][] arr1) {
        int num=0;
        for (int i=0 ; i < arr1.length ; i++) {
            for (int j = 0; j < arr1[i].length; j++) {
                num += arr1[i][j];
            }
        }
        System.out.printf("公司年销售额求和"+num+"\n");
    }

    /**
     * 2、冒泡排序
     * @param arr2
     */
    public static void question2(int[] arr2) {
        System.out.printf("冒泡排序前"+Arrays.toString(arr2)+"\n");
        int num=0;
        for(int i = 0 ;i< arr2.length -1; i++){
            for(int j = 0; j<arr2.length-1-i; j++){
                if(arr2[j]>arr2[j+1]){
                    num = arr2[j];
                    arr2[j] = arr2[j+1];
                    arr2[j+1] = num;
                }
            }
        }
        System.out.printf("冒泡排序后"+Arrays.toString(arr2)+"\n");
    }

    /**
     * 3.给定一个整型数组，数组成员10个,求该数组中第二大的数的下标
     * @param arr3
     */
    public static void question3(int[] arr3) {
        int max = arr3[0];
        int maxb = 0;
        int second = 0;
        int secondb = 0;
        int num = 0;
        for (int i = 0; i < arr3.length; i++) {
            if(max<arr3[i]){
                second = max;
                secondb = maxb;
                max = arr3[i];
                maxb = i;
            } else if(arr3[i]>second){
                second = arr3[i];
                secondb = i;
            }
        }
        System.out.printf("第二大的数为"+second+"它的数组下标"+secondb+"\n");
    }

    /**
     * 4.某个公司采用公用电话传递数据信息，数据是小于8位的整数，为了确保安全，
     * 在传递过程中需要加密，加密规则如
     *
     * 下：首先将数据倒序，然后将每位数字都加上5，再用和除以10的余数代替该数字，
     * 最后将第一位和最后一位数字交换。 请任意给定一个小于8位的整数，
     * 然后，把加密后的结果在控制台打印出来。
     *       题目要求：A:数据是小于8位的整数
     *                  定义一个int类型的数据
     *                  int number = 123456
     *                B:加密规则
     *                 a:首先将数据倒序
     *                     结果 654321
     * b:然后将每位数字都加上5，再用和除以10的余数代替该数字
     *                       结果 109876
     *                c:最后将第一位和最后一位数字交换
     *                      结果 609871
     * 		   C:把加密后的结果输出在控制台
     * @param arr4
     */
    public static void question4(int[] arr4) {

        int number = 123456;
    }

    public static void main(String[] args) {
        int[][] arr1 = {{22,66,44},{77,33,88},{25,45,65},{11,66,99}};
        question1(arr1);

        int[] arr2 = {22,66,44,77,33,88,25,45,65,11,66,99};
        question2(arr2);

        int[] arr3 = {22,66,44,77,33,88,25,45,65,11};
        question3(arr3);


    }

}
